package com.lambda.demo5.demo1;

import java.util.function.Supplier;

/**
 * @ClassName JDKFunction
 * @Description 定义一个学生类（姓名、年龄）,使用Supplier接口，
 * 打印输出年龄最小的学生，格式为：姓名-年龄
 * @Author Kx
 * @Date 2025/4/2 10:29
 * @Version 1.0
 */
public class JDKFunction {
    public static void main(String[] args) {
        // 定义学生数组对象
        Student[] students = {new Student("张三", 18), new Student("李四", 19), new Student("王五", 20), new Student("赵六", 17)};

        // 定义一个Supplier接口的实现类
        Supplier<Student> supplier = () -> {
            // 获取第一个学生对象
            Student student = students[0];
            // 循环判断所有学生的年龄是否比第一个学生小
            for (int i = 1; i < students.length; i++) {
                if (students[i].getAge() < student.getAge()) {
                    // 更新最小年龄的学生对象
                    student = students[i];
                }
            }
            return student;
        };

        System.out.println(supplier.get().getName() + "-" + supplier.get().getAge());
    }
}
